Emmett Stralka - Engineering Portfolio
  • Home
  • Labs
  • Blog
  • Resources
  • About

E155 Labs

Microcontrollers & FPGA Design

E155 Labs

Microcontrollers & FPGA Design

Documentation of my journey through E155: Microcontrollers and FPGA Design at Harvey Mudd College, mastering embedded systems, digital design, and hardware-software integration.

Progress: 2/7 labs completed (29%) | Current: Interrupts and Timers | Next: Memory-Mapped I/O

Lab Portfolio

✓ Completed

Lab 1: FPGA and MCU Setup

Initial setup and configuration of the development environment, including FPGA programming and microcontroller initialization.

📖 Instructions 📄 Report 💻 Code

✓ Completed

Lab 2: Assembly Language Programming

Deep dive into low-level programming with assembly language, implementing core algorithms and data manipulation techniques directly on the microcontroller.

📖 Instructions 📄 Report

🔄 In Progress

Lab 3: Interrupts and Timers

Exploring real-time programming concepts through interrupt-driven systems and timer-based operations.

📖 Instructions 📄 Report - Coming Soon

⏳ Pending

Lab 4: Memory-Mapped I/O

Implementation of memory-mapped input/output operations, enabling direct hardware control through memory addressing.

📖 Instructions 💻 Code 📄 Report - Coming Soon

⏳ Pending

Lab 5: Analog-to-Digital Conversion

Working with ADC peripherals to interface with analog sensors and signals, covering signal conditioning and sampling theory.

📖 Instructions 📄 Report - Coming Soon

⏳ Pending

Lab 6: Pulse Width Modulation

Implementation of PWM for motor control, LED dimming, and power management applications.

📖 Instructions 💻 Code 📄 Report - Coming Soon

⏳ Pending

Lab 7: Serial Communication

Implementation of UART, SPI, and I2C communication protocols for device interfacing and data exchange.

📖 Instructions 💻 Code 📄 Report - Coming Soon

Skills Developed

🔧

Hardware

FPGA programming, microcontroller architecture, digital circuit design, hardware debugging

💻

Software

Assembly language, C programming for embedded systems, interrupt-driven programming, real-time system design

🛠️

Tools

Quartus Prime, ARM Cortex-M development tools, oscilloscopes, logic analyzers, Git